class Class
{
   String name;
   Class subclass = null;
   VarTable varTable = new VarTable();
   MethodTable methodTable = new MethodTable();
   
   Class(String name)
   {
      this.name = name;
   }
   
   public String toString()
   {
      return "class: " + name;
   }

   public String getName()
   {
      return name;
   }
   
   public void setSubclass(Class subc)
   {
      this.subclass = subc;
   }

   public Class getSubclass()
   {
      return subclass;
   }

   public void add(Var v) throws BabytalkRuntimeException
   {
      varTable.add(v);
   }

   public void add(Method m) throws BabytalkRuntimeException
   {
      methodTable.add(m);
   }
   
   public VarTable getVarTable()
   {
      return varTable;
   }

   public MethodTable getMethodTable()
   {
      return methodTable;
   }
}
